fcfefd81b451035db86a11e7de0438834a4dd471,hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java,Canary,sniffRegion,#HBaseAdmin#Sink#HRegionInfo#HTable#,256

Before Change


    for (HColumnDescriptor column : tableDesc.getColumnFamilies()) {
      stopWatch.reset();
      byte [] startKey = region.getStartKey();
      if (startKey ==  null || startKey.length <= 0) {
        // Can't do a get on empty start row so do a Scan of first element if any instead.
        Scan scan = new Scan();
        scan.addFamily(column.getName());
        scan.setBatch(1);
        ResultScanner scanner = null;
        try {
          stopWatch.start();
          scanner = table.getScanner(scan);
          scanner.next();
          stopWatch.stop();
          sink.publishReadTiming(region, column, stopWatch.getTime());
        } catch (Exception e) {
          sink.publishReadFailure(region, column, e);
        } finally {
          if (scanner != null) scanner.close();
        }
      } else {
        Get get = new Get(region.getStartKey());
        get.addFamily(column.getName());
        try {
          stopWatch.start();
          table.get(get);

After Change


      // Can't do a get on empty start row so do a Scan of first element if any instead.
      if (startKey.length > 0) {
        get = new Get(startKey);
        get.addFamily(column.getName());
      } else {
        scan = new Scan();
        scan.setCaching(1);